using IM.Easy.Infrastructure.Query;
using System.ComponentModel.DataAnnotations;


namespace IM.Easy.SystemServices.Dtos
{
    /// <summary>
    /// 通知公告表查询实体
    /// </summary>
    public class SysNotificationQueryDto : QueryBase
    {
        /// <summary>
        /// 通知标题
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 优先级（0=普通，1=重要，2=紧急）
        /// </summary>
        public int Priority { get; set; }
        /// <summary>
        /// 状态（0=草稿，1=已发布，2=撤回）
        /// </summary>
        public int Status { get; set; }
    }

    /// <summary>
    /// 通知公告表dto
    /// </summary>
    public class SysNotificationDto
    {
        /// <summary>
        /// 通知公告唯一标识符
        /// </summary>
        public long Id { get; set; }
        /// <summary>
        /// 通知标题
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 通知内容
        /// </summary>
        public string Content { get; set; }
        /// <summary>
        /// 优先级（0=普通，1=重要，2=紧急）
        /// </summary>
        public int Priority { get; set; }
        /// <summary>
        /// 状态（0=草稿，1=已发布，2=撤回）
        /// </summary>
        public int Status { get; set; }
        /// <summary>
        /// 生效时间
        /// </summary>
        public DateTime EffectiveTime { get; set; }
        /// <summary>
        /// 失效时间
        /// </summary>
        public DateTime ExpiryTime { get; set; }
        /// <summary>
        /// 目标受众（用户ID或角色）
        /// </summary>
        public string Audience { get; set; }
    }
}
